[WinForms] 在DataGridView中显示约束后的bit值

来源:百度知道 编辑:UC知道 时间:2024/06/15 15:33:29
this.dgv1.DataSource =XXXXX();
方法XXXXX() 读取SQL数据库 返回一个DataTable类型的返回值,把它作为数据源显示到窗体的DataGridView控件中。但是这个表中有2个bit值类型的列,如其中bit值列sex,为0时在dgv中显示字符串“男”,1为“女”。应该如何写。

比如
DataTable dt=new DataTable();
dt=XXXXX();
dt.........;
..
..
this.dgv1.DataSource =dt;
...部分如何补全可以实现目的
现在就是BIT值直接变成了bool值显示在了dgv里 成了男的False 女的True了 ,但似乎DataTable是一个整体,应该怎么进行局部的条件判断或者赋值。

DataTable dt = new DataTable ( );

dt.Columns.Add ( "sex", typeof ( bool ) );
DataRow dr = null;

for ( int i = 0 ; i < 20 ; i++ )
{
dr = dt.NewRow ( );
dr [ "sex" ] = i % 2;

dt.Rows.Add ( dr );
}

DataTable dt2 = new DataTable();
dt2.Columns.Add ( "sex", typeof ( bool ) );
dt2.Columns.Add ( "sexName", typeof ( string ) );

DataRow dr2 = null;
for ( int i = 0; i < dt.Rows.Count; i++ )
{
dr2 = dt2.NewRow ( );
DataRow r = dt.Rows[i];

if ( ( bool ) r [ "sex" ] == true )
{
dr2 [ "sexName" ] = "男";
}